#week07:列表的一般方法
#记录人:谭啾啾
#参考网址：https://www.cnblogs.com/xuzhichao/p/11407192.html


#列表1: 取值->1.index 索引取单个值 2.slice 切片取一些值 还是一个列表
#序列内部有顺序，就有索引，就有值 3.value值
names = "Alex,Marry,Jack"
##0 1 2 3 4
names_list = ["Alex,Marry,Jack"]
##              0      1      2
print(names[0:4])
print(names_list[0])

#python一切都是对象，列表，数值,字符串等
#2.列表的增加

#2.1 append() 增加元素到list的末尾
#所以append()一般都是用来新建列表时使用
names_J = []
names = ["Mike","Mary","Jark","Jank"]
names.append("yexinyi")
names.append("yexinyi")
for i in  names:
    if i[0] =="J":
        names_J.append(i)
print("names_J=",names_J)
print(names)

#2.2insert（)插入元素
names.insert(2,"Lihua")
print("插入李华之后的names",names)

#删除
#3.1 remove(） 使用remove之前，应该先判断该元素是否存在list之中
print("yexinyi" in names)
#解释；判断yexinyi是否在names中
names_user= input("删除内容")
while True:

    if "yexinyi" in names:
        names.remove(names_user)
    else:
        break

names.remove("yexinyi")
names.remove("yexinyi")
print("remove之后的names;",names)
#删除第一个的值
#列表的方法会改变列表,

#3.2 pop()删除 pop()不填内容 删除末尾
names.pop()
print(names)
#4.index
#使用pop删除成绩95
stu_成绩=[97,95,93,92,95]
for i in stu_成绩:
    if i ==95:
      print(names.index(stu_成绩.index(i)))
#本质：list本身就有index和value
for index, value in enumerate(stu_成绩):
    if value ==95 :
        stu_成绩.pop(index)
print(stu_成绩)

#5,排序，默认从小到大reverse=fales（默认从小到大
#                       =True(从小到大
print(stu_成绩)
stu_成绩.sort()#自负床，一首字母按照ascll编码表排序
print(names)


#6.count(）查看某元素的次数
print(stu_成绩.count(95))

#7.clear()清空列表
names.clear()
print(names)

#8.extend()是有顺序的，操作哪一个列表，先写哪一个列表
names.extend(names_J)
print(names)

#列表的复制
#1,假复制，用=复制
names= ["Alex,Marry,Jack"]
names_w = names
names.append("yexinyi")
print("names = ",names)
print("names_W = ,names_W")
#2,正确复制 copy（）
#3，正确方法，切片[:]

#课堂总结：疑问：老师
#CTRL+/是删除
